package cn.edu.hnu.gpg.service;
import cn.edu.hnu.gpg.dto.BulletinDisplay;
import cn.edu.hnu.gpg.entity.Bulletin;
import cn.edu.hnu.gpg.entity.User;

import java.util.Date;
import java.util.List;

public interface BulletinService {

    /**
     * 用于发布一条新的公告
     * @param content 公告的内容
     * @param user 发布的用户(通过此用户的id来获取对应的管理员id)
     * @return 公告的ID，失败返回为0
     */
    int createNewBulletin(String title, String content,User user);

    /**
     * 用于发布一条新的公告
     * @param content 公告的内容
     * @param user_id 发布的用户id(通过此id来获取对应的管理员id)
     * @return 公告的ID，失败返回为0
     */
    int createNewBulletin(String title, String content, int user_id);

    List<Bulletin> listBulletin();

    Bulletin queryBulletinById(Integer bulletinId);

    /**
     * 用于删除某条公告(通过发布者以及发布时间来定位具体的公告)
     * @param publisher 发布公告者的id（管理员id）
     * @param date 公告发布的时间
     * @return 是否删除成功
     */
    boolean deleteBulletin(Date date,int publisher);

    /**
     * 通过公告id来删除某一条公告
     * @param bulletin_id 公告id
     * @return 删除是否成功
     */
    boolean deleteBulletin(int bulletin_id);
}
